package com.ruoyi.fire.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.fire.domain.DWaterMessage;
import com.ruoyi.fire.domain.dto.UplinkDataDTO;

import java.util.List;
import java.util.Set;

/**
 * @PackageName: com.iot.fire.service
 * @ClassName: IDWaterMessageService
 * @Description:
 * @Author: czl
 * @Date: 2025/11/10 23:16
 */
public interface IDWaterMessageService extends IService<DWaterMessage> {

    /**
     * 根据设备编号查询列表
     * @param deviceNo 设备编码
     * @return
     */
    DWaterMessage selectLastOneByDeviceNo(String deviceNo);

    /**
     * 根据设备编号查询最近7小时列表
     * @param deviceNo 设备编码
     * @return
     */
    DWaterMessage selectLast7HostOneByDeviceNo(String deviceNo);

    /**
     * 根据设备编号查询列表
     * @param waterDeviceNos 设备编码
     * @return
     */
    List<DWaterMessage> selectLastOneByDeviceNos(Set<String> waterDeviceNos);

    /**
     * 设备上行数据
     * @param uplinkDataDTO
     * @return
     */
    Page<DWaterMessage> uplinkData(UplinkDataDTO uplinkDataDTO);

    /**
     * 设备在线状态
     * @param deviceNo
     * @return
     */
    boolean OnlineStatus(String deviceNo);
}
